package com.hpeng.util;

import java.io.IOException;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

/**
 * java程序调用bat文件，执行oracel数据库备份 定时任务
 **/
public class Mytimerservice extends QuartzJobBean {

	protected void executeInternal(JobExecutionContext arg0)
			throws JobExecutionException {
		String cmd = "cmd /c start C:/Users/gl/Desktop/dbbackup/backupDB.bat";
		Mytimerservice mytimerservice = new Mytimerservice();
		mytimerservice.execute(cmd);
	}

//	public static void main(String[] args) {
//		String cmd = "cmd /c start D:\\ApacheTomcat6.0.2\Tomcat6.\webapps\SSS\/dbbackup/backupDB.bat";
//		Mytimerservice mytimerservice = new Mytimerservice();
//		mytimerservice.execute(cmd);
//	}

	public void execute(String cmd) {
		try {
			System.out.println("进入execute方法");
			Process ps = Runtime.getRuntime().exec(cmd);
			System.out.println(ps.getInputStream());
		} catch (IOException ioe) {
			ioe.printStackTrace();
		}
	}

}

// import java.io.BufferedReader;
// import java.io.IOException;
// import java.io.InputStream;
// import java.io.InputStreamReader;
//
// /**
// * java程序调用bat文件，执行oracel数据库备份
// * @author PanHongBin */
// public class Mytimerservice {
//	
// /**
// * @param args
// */
// public static void main( String[] args ){
// Mytimerservice expOracleData = new Mytimerservice( );
// expOracleData.run( );
// }
//	
// public void run( ){
// try{
// String cmd = "cmd.exe /c C:/Users/gl/Desktop/dbbackup/dbbackup.bat";
// Process process = Runtime.getRuntime( ).exec(cmd);
// ThreadInputStream inputStream = new ThreadInputStream( process );
// ThreadErrorStream errorStream = new ThreadErrorStream( process );
// inputStream.start( );
// errorStream.start( );
// if ( process.waitFor( ) == 0 ){
// System.out.println( "结束" );
// }
// else{
// System.out.println( "正在导出*****" );
// }
// if ( process.exitValue( ) == 0 ){
// System.out.println( "数据备份成功。" );
// System.out.println( "添加数据备份信息到数据表" );
// // save();
// }
// else{
// System.out.println( "数据备份失败!" );
// }
// }
// catch ( Exception e ){
// e.printStackTrace( );
// }
// System.out.println( "退出" );
// }
// }
//
// class ThreadInputStream extends Thread {
//	
// Process process = null;
//	
// public ThreadInputStream( Process process ){
// this.process = process;
// }
//	
// public void run( ){
// InputStream inputStream = process.getInputStream( );
// BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(
// inputStream ) );
// try{
// String line = null;
// while ( ( line = bufferedReader.readLine( ) ) != null ){
// if ( line != null ){
// System.out.println( line );
// if ( line.indexOf( "exp" ) != -1 ){
// System.out.println( "执行数据备份命令" );
// break;
// }
// }
// }
// System.out.println( "输入结束^^^^^^" );
// }
// catch ( IOException e ){
// e.printStackTrace( );
// }
// }
// }
//
// class ThreadErrorStream extends Thread {
//	
// Process process = null;
//	
// public ThreadErrorStream( Process process ){
// this.process = process;
// }
//	
// public void run( ){
// InputStream errorStream = process.getErrorStream( );
// BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(
// errorStream ) );
// try{
// String line = null;
// while ( ( line = bufferedReader.readLine( ) ) != null ){
// if ( line != null ){
// System.out.println( line );
// if ( line.indexOf( "成功终止导出" ) != -1 ){
// System.out.println( "成功终止导出-------" );
// }
// if ( line.indexOf( "ORA-01017" ) != -1 ){
// System.out.println( "用户名 / 密码 错误 ORA-01017-------" );
// process.destroy( );
// break;
// }
// if ( line.indexOf( "EXP-00028" ) != -1 ){
// System.out.println( "文件路径不对：EXP-00028-------" );
// process.destroy( );
// break;
// }
// }
// }
// System.out.println( "输出结束 ^^^^^^" );
// }
// catch ( IOException e ){
// e.printStackTrace( );
// }
// }
// }
